home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 15 / CU Amiga Magazine's Super CD-ROM 15 (1997)(EMAP Images)(GB)[!][issue 1997-10].iso / CUCD / Graphics / Ghostscript / source / gdevpxen.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-12  |  5.1 KB  |  240 lines

  1. /* Copyright (C) 1997 Aladdin Enterprises.  All rights reserved.
  2.   
  3.   This file is part of Aladdin Ghostscript.
  4.   
  5.   Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  6.   or distributor accepts any responsibility for the consequences of using it,
  7.   or for whether it serves any particular purpose or works at all, unless he
  8.   or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  9.   License (the "License") for full details.
  10.   
  11.   Every copy of Aladdin Ghostscript must include a copy of the License,
  12.   normally in a plain ASCII text file named PUBLIC.  The License grants you
  13.   the right to copy, modify and redistribute Aladdin Ghostscript, but only
  14.   under certain conditions described in the License.  Among other things, the
  15.   License requires that the copyright notice and this notice be preserved on
  16.   all copies.
  17. */
  18.  
  19. /* gdevpxen.h */
  20. /* Enumerated attribute value definitions for PCL XL */
  21.  
  22. #ifndef gdevpxen_INCLUDED
  23. #  define gdevpxen_INCLUDED
  24.  
  25. typedef enum {
  26.   eClockWise = 0,
  27.   eCounterClockWise,
  28.   pxeArcDirection_next
  29. } pxeArcDirection_t;
  30.  
  31. typedef enum {
  32.   eNoSubstitution = 0,
  33.   eVerticalSubstitution,
  34.   pxeCharSubModeArray_next
  35. } pxeCharSubModeArray_t;
  36.  
  37. typedef enum {
  38.   eNonZeroWinding = 0,
  39.   eEvenOdd,
  40.   pxeClipMode_next,
  41.   pxeFillMode_next = pxeClipMode_next        /* see pxeFillMode_t below */
  42. } pxeClipMode_t;
  43.  
  44. typedef enum {
  45.   eInterior = 0,
  46.   eExterior,
  47.   pxeClipRegion_next
  48. } pxeClipRegion_t;
  49.  
  50. typedef enum {
  51.   e1Bit = 0,
  52.   e4Bit,
  53.   e8Bit,
  54.   pxeColorDepth_next
  55. } pxeColorDepth_t;
  56.  
  57. typedef enum {
  58.   eDirectPixel = 0,
  59.   eIndexedPixel,
  60.   pxeColorMapping_next
  61. } pxeColorMapping_t;
  62.  
  63. typedef enum {
  64.   eNoColorSpace = 0, /* Note: for this enumeration only, 0 is not a valid value! */
  65.   eGray,
  66.   eRGB,
  67.   pxeColorSpace_next
  68. } pxeColorSpace_t;
  69.  
  70. typedef enum {
  71.   eNoCompression = 0,
  72.   eRLECompression,
  73.   pxeCompressMode_next
  74. } pxeCompressMode_t;
  75.  
  76. typedef enum {
  77.   eBinaryHighByteFirst = 0,
  78.   eBinaryLowByteFirst,
  79.   pxeDataOrg_next    /* is this DataOrg or DataOrganization? */
  80. } pxeDataOrg_t;
  81.  
  82. typedef enum {
  83.   eDefault = 0,        /* bad choice of name! */
  84.   pxeDataSource_next
  85. } pxeDataSource_t;
  86.  
  87. typedef enum {
  88.   eUByte = 0,
  89.   eSByte,
  90.   eUInt16,
  91.   eSInt16,
  92.   pxeDataType_next
  93. } pxeDataType_t;
  94.  
  95. typedef enum {
  96.   eDownloaded = -1,    /* Not a real value, indicates a downloaded matrix */
  97.   eDeviceBest = 0,
  98.   pxeDitherMatrix_next
  99. } pxeDitherMatrix_t;
  100.  
  101. typedef enum {
  102.   eDuplexHorizontalBinding = 0,
  103.   eDuplexVerticalBinding,
  104.   pxeDuplexPageMode_next
  105. } pxeDuplexPageMode_t;
  106.  
  107. typedef enum {
  108.   eFrontMediaSide = 0,
  109.   eBackMediaSide,
  110.   pxeDuplexPageSide_next
  111. } pxeDuplexPageSide_t;
  112.  
  113. typedef enum {
  114.   /* Several pieces of code know that this is a bit mask. */
  115.   eNoReporting = 0,
  116.   eBackChannel,
  117.   eErrorPage,
  118.   eBackChAndErrPage,
  119.   pxeErrorReport_next
  120. } pxeErrorReport_t;
  121.  
  122. typedef pxeClipMode_t pxeFillMode_t;
  123.  
  124. typedef enum {
  125.   eButtCap = 0,
  126.   eRoundCap,
  127.   eSquareCap,
  128.   eTriangleCap,
  129.   pxeLineCap_next
  130. } pxeLineCap_t;
  131. #define pxeLineCap_to_library\
  132.   { gs_cap_butt, gs_cap_round, gs_cap_square, gs_cap_triangle }
  133.  
  134. typedef enum {
  135.   eMiterJoin = 0,
  136.   eRoundJoin,
  137.   eBevelJoin,
  138.   eNoJoin,
  139.   pxeLineJoin_next
  140. } pxeLineJoin_t;
  141. #define pxeLineJoin_to_library\
  142.   { gs_join_miter, gs_join_round, gs_join_bevel, gs_join_none }
  143.  
  144. typedef enum {
  145.   eInch = 0,
  146.   eMillimeter,
  147.   eTenthsOfAMillimeter,
  148.   pxeMeasure_next
  149. } pxeMeasure_t;
  150. #define pxeMeasure_to_points { 72.0, 72.0 / 25.4, 72.0 / 254.0 }
  151.  
  152. /**** MediaDestination is not documented. ****/
  153. typedef enum {
  154.   eDefaultDestination = 0,
  155.   pxeMediaDestination_next
  156. } pxeMediaDestination_t;
  157.  
  158. typedef enum {
  159.   eLetterPaper = 0,
  160.   eLegalPaper,
  161.   eA4Paper,
  162.   eExecPaper,
  163.   eLedgerPaper,
  164.   eA3Paper,
  165.   eCOM10Envelope,
  166.   eMonarchEnvelope,
  167.   eC5Envelope,
  168.   eDLEnvelope,
  169.   eJB4Paper,
  170.   eJB5Paper,
  171.   eB5Envelope,
  172.   eJPostcard,
  173.   eJDoublePostcard,
  174.   eA5Paper,
  175.   pxeMediaSize_next
  176. } pxeMediaSize_t;
  177.  
  178. /*
  179.  * Apply a macro (or procedure) to all known paper sizes.
  180.  * The arguments are:
  181.  *    media size code, resolution for width/height, width, height.
  182.  */
  183. #define px_enumerate_media(m)\
  184.   m(eLetterPaper, 300, 2550, 3300)\
  185.   m(eLegalPaper, 300, 2550, 5300)\
  186.   m(eA4Paper, 300, 2480, 3507)\
  187.   m(eExecPaper, 300, 2175, 3150)\
  188.   m(eLedgerPaper, 300, 3300, 5100)\
  189.   m(eA3Paper, 300, 3507, 4960)\
  190.   m(eCOM10Envelope, 300, 1237, 2850)\
  191.   m(eMonarchEnvelope, 300, 1162, 2250)\
  192.   m(eC5Envelope, 300, 1913, 2704)\
  193.   m(eDLEnvelope, 300, 1299, 2598)\
  194.   m(eB5Envelope, 300, 2078, 2952)
  195.  
  196. typedef enum {
  197.   eDefaultSource = 0,
  198.   eAutoSelect,
  199.   eManualFeed,
  200.   eMultiPurposeTray,
  201.   eUpperCassette,
  202.   eLowerCassette,
  203.   eEnvelopeTray,
  204.   pxeMediaSource_next
  205. } pxeMediaSource_t;
  206.  
  207. /**** MediaType is not documented. ****/
  208. typedef enum {
  209.   eDefaultType = 0,
  210.   pxeMediaType_next
  211. } pxeMediaType_t;
  212.  
  213. typedef enum {
  214.   ePortraitOrientation = 0,
  215.   eLandscapeOrientation,
  216.   eReversePortrait,
  217.   eReverseLandscape,
  218.   pxeOrientation_next
  219. } pxeOrientation_t;
  220.  
  221. typedef enum {
  222.   eTempPattern = 0,
  223.   ePagePattern,
  224.   eSessionPattern,
  225.   pxePatternPersistence_next
  226. } pxePatternPersistence_t;
  227.  
  228. typedef enum {
  229.   eSimplexFrontSide = 0,
  230.   pxeSimplexPageMode_next
  231. } pxeSimplexPageMode_t;
  232.  
  233. typedef enum {
  234.   eOpaque = 0,
  235.   eTransparent,
  236.   pxeTxMode_next
  237. } pxeTxMode_t;
  238.  
  239. #endif                /* gdevpxen_INCLUDED */
  240.